/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.pizzaria.view;

import br.com.pizzaria.util.Global;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.InputEvent;
import java.awt.event.KeyEvent;
import javax.swing.AbstractAction;
import javax.swing.JComponent;
import javax.swing.JInternalFrame;
import javax.swing.KeyStroke;
import javax.swing.Timer;

/**
 *
 * @author Jaime
 */
public class MenuEstoque extends javax.swing.JInternalFrame {

    ProdutoView produtoV;
    PrecoProdutoView precoProdutoV;
    TipoProdutoView tipoProdutoV;
    AjusteEstoqueView ajusteEstoqueV;
    NotaFiscalEntradaView notaFiscalEntradaV;
    ConsultaMovEstoqueView movimentoEstoque;

    /**
     * Creates new form MenuProdução
     */
    public MenuEstoque() {
        initComponents();
        Timer time = new Timer(1000, ativar);
        time.start();

        btnProduto.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke(KeyEvent.VK_1, InputEvent.CTRL_DOWN_MASK), "evento");
        btnProduto.getActionMap().put("evento", new AbstractAction() {

            @Override
            public void actionPerformed(ActionEvent e) {
                btnProdutoActionPerformed(e);
            }

        });
        btnTipoProduto.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke(KeyEvent.VK_2, InputEvent.CTRL_DOWN_MASK), "evento");
        btnTipoProduto.getActionMap().put("evento", new AbstractAction() {

            @Override
            public void actionPerformed(ActionEvent e) {
                btnTipoProdutoActionPerformed(e);
            }

        });
        btnPrecoProduto.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke(KeyEvent.VK_3, InputEvent.CTRL_DOWN_MASK), "evento");
        btnPrecoProduto.getActionMap().put("evento", new AbstractAction() {

            @Override
            public void actionPerformed(ActionEvent e) {
                btnPrecoProdutoActionPerformed(e);
            }

        });
        btnPrecoProduto1.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke(KeyEvent.VK_4, InputEvent.CTRL_DOWN_MASK), "evento");
        btnPrecoProduto1.getActionMap().put("evento", new AbstractAction() {

            @Override
            public void actionPerformed(ActionEvent e) {
                btnPrecoProduto1ActionPerformed(e);
            }

        });
        btnPrecoProduto2.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke(KeyEvent.VK_5, InputEvent.CTRL_DOWN_MASK), "evento");
        btnPrecoProduto2.getActionMap().put("evento", new AbstractAction() {

            @Override
            public void actionPerformed(ActionEvent e) {
                btnPrecoProduto2ActionPerformed(e);
            }

        });
        
        btnRelatorioCliente1.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke(KeyEvent.VK_7, InputEvent.CTRL_DOWN_MASK), "evento");
        btnRelatorioCliente1.getActionMap().put("evento", new AbstractAction() {

            @Override
            public void actionPerformed(ActionEvent e) {
                btnRelatorioCliente1ActionPerformed(e);
            }

        });
    }

    /**
     * This method is called from within the constructor to initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is always
     * regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        btnProduto = new javax.swing.JButton();
        btnTipoProduto = new javax.swing.JButton();
        btnPrecoProduto = new javax.swing.JButton();
        btnPrecoProduto1 = new javax.swing.JButton();
        btnPrecoProduto2 = new javax.swing.JButton();
        btnRelatorioCliente1 = new javax.swing.JButton();

        setTitle("Menu Estoque");
        setPreferredSize(new java.awt.Dimension(308, 472));
        try {
            setSelected(true);
        } catch (java.beans.PropertyVetoException e1) {
            e1.printStackTrace();
        }

        btnProduto.setFont(new java.awt.Font("Arial", 1, 18)); // NOI18N
        btnProduto.setForeground(new java.awt.Color(0, 51, 255));
        btnProduto.setText("<html> Produto <font size='2' style='color:black'> Crtl-1 </font>");
        btnProduto.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnProdutoActionPerformed(evt);
            }
        });

        btnTipoProduto.setFont(new java.awt.Font("Arial", 1, 18)); // NOI18N
        btnTipoProduto.setForeground(new java.awt.Color(0, 51, 255));
        btnTipoProduto.setText("<html>Tipo de Produto <font size='2' style='color:black'> Crtl-2 </font>");
        btnTipoProduto.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnTipoProdutoActionPerformed(evt);
            }
        });

        btnPrecoProduto.setFont(new java.awt.Font("Arial", 1, 18)); // NOI18N
        btnPrecoProduto.setForeground(new java.awt.Color(0, 51, 255));
        btnPrecoProduto.setText("<html> Preço de Produto<font size='2' style='color:black'> Crtl-3 </font>");
        btnPrecoProduto.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnPrecoProdutoActionPerformed(evt);
            }
        });

        btnPrecoProduto1.setFont(new java.awt.Font("Arial", 1, 18)); // NOI18N
        btnPrecoProduto1.setForeground(new java.awt.Color(0, 51, 255));
        btnPrecoProduto1.setText("<html> Ajustes de Estoque<font size='2' style='color:black'> Crtl-4 </font>");
        btnPrecoProduto1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnPrecoProduto1ActionPerformed(evt);
            }
        });

        btnPrecoProduto2.setFont(new java.awt.Font("Arial", 1, 18)); // NOI18N
        btnPrecoProduto2.setForeground(new java.awt.Color(0, 51, 255));
        btnPrecoProduto2.setText("<html>Incluir NF Entrada<font size='2' style='color:black'> Crtl-5 </font>");
        btnPrecoProduto2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnPrecoProduto2ActionPerformed(evt);
            }
        });

        btnRelatorioCliente1.setFont(new java.awt.Font("Arial", 1, 18)); // NOI18N
        btnRelatorioCliente1.setForeground(new java.awt.Color(0, 51, 255));
        btnRelatorioCliente1.setText("<html> Movimento Estoque <font size='2' style='color:black'> Crtl-7 </font>");
        btnRelatorioCliente1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnRelatorioCliente1ActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addGap(10, 10, 10)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(btnPrecoProduto, javax.swing.GroupLayout.DEFAULT_SIZE, 272, Short.MAX_VALUE)
                            .addComponent(btnProduto, javax.swing.GroupLayout.Alignment.TRAILING)
                            .addComponent(btnTipoProduto)))
                    .addGroup(layout.createSequentialGroup()
                        .addContainerGap()
                        .addComponent(btnPrecoProduto1, javax.swing.GroupLayout.DEFAULT_SIZE, 272, Short.MAX_VALUE))
                    .addGroup(layout.createSequentialGroup()
                        .addContainerGap()
                        .addComponent(btnPrecoProduto2, javax.swing.GroupLayout.DEFAULT_SIZE, 272, Short.MAX_VALUE))
                    .addGroup(layout.createSequentialGroup()
                        .addContainerGap()
                        .addComponent(btnRelatorioCliente1)))
                .addContainerGap())
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(btnProduto, javax.swing.GroupLayout.PREFERRED_SIZE, 65, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(btnTipoProduto, javax.swing.GroupLayout.PREFERRED_SIZE, 65, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(btnPrecoProduto, javax.swing.GroupLayout.PREFERRED_SIZE, 65, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(btnPrecoProduto1, javax.swing.GroupLayout.PREFERRED_SIZE, 65, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(btnPrecoProduto2, javax.swing.GroupLayout.PREFERRED_SIZE, 65, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(btnRelatorioCliente1, javax.swing.GroupLayout.PREFERRED_SIZE, 65, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        pack();
    }// </editor-fold>//GEN-END:initComponents

    private void btnProdutoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnProdutoActionPerformed
        if (produtoV == null || !produtoV.isShowing()) {
            produtoV = new ProdutoView();
            Global.principal.Desktop.add(produtoV);
            centralizaForm(produtoV);
            produtoV.setVisible(true);
        }
    }//GEN-LAST:event_btnProdutoActionPerformed


    private void btnTipoProdutoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnTipoProdutoActionPerformed
        // TODO add your handling code here:
        if (tipoProdutoV == null || !tipoProdutoV.isShowing()) {
            tipoProdutoV = new TipoProdutoView();
            Global.principal.Desktop.add(tipoProdutoV);
            centralizaForm(tipoProdutoV);
            tipoProdutoV.setVisible(true);
        }
    }//GEN-LAST:event_btnTipoProdutoActionPerformed

    private void btnPrecoProdutoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnPrecoProdutoActionPerformed
        // TODO add your handling code here:
        if (precoProdutoV == null || !precoProdutoV.isShowing()) {
            precoProdutoV = new PrecoProdutoView();
            Global.principal.Desktop.add(precoProdutoV);
            centralizaForm(precoProdutoV);
            precoProdutoV.setVisible(true);
        }
    }//GEN-LAST:event_btnPrecoProdutoActionPerformed

    private void btnPrecoProduto1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnPrecoProduto1ActionPerformed
        // TODO add your handling code here:
        if (ajusteEstoqueV == null || !ajusteEstoqueV.isShowing()) {
            ajusteEstoqueV = new AjusteEstoqueView();
            Global.principal.Desktop.add(ajusteEstoqueV);
            centralizaForm(ajusteEstoqueV);
            ajusteEstoqueV.setVisible(true);
        }
    }//GEN-LAST:event_btnPrecoProduto1ActionPerformed

    private void btnPrecoProduto2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnPrecoProduto2ActionPerformed
        // TODO add your handling code here:
        if (notaFiscalEntradaV == null || !notaFiscalEntradaV.isShowing()) {
            notaFiscalEntradaV = new NotaFiscalEntradaView();
            Global.principal.Desktop.add(notaFiscalEntradaV);
            centralizaForm(notaFiscalEntradaV);
            notaFiscalEntradaV.setVisible(true);
        }
    }//GEN-LAST:event_btnPrecoProduto2ActionPerformed

    private void btnRelatorioCliente1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnRelatorioCliente1ActionPerformed
        // TODO add your handling code here:
        if (movimentoEstoque == null || !movimentoEstoque.isShowing()) {
            movimentoEstoque = new ConsultaMovEstoqueView();
            Global.principal.Desktop.add(movimentoEstoque);
            centralizaForm(movimentoEstoque);
            movimentoEstoque.setVisible(true);
        }
    }//GEN-LAST:event_btnRelatorioCliente1ActionPerformed


    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JButton btnPrecoProduto;
    private javax.swing.JButton btnPrecoProduto1;
    private javax.swing.JButton btnPrecoProduto2;
    private javax.swing.JButton btnProduto;
    private javax.swing.JButton btnRelatorioCliente1;
    private javax.swing.JButton btnTipoProduto;
    // End of variables declaration//GEN-END:variables
    ActionListener ativar = (new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            centralizarComponente();
        }

    });

    public final void centralizarComponente() {
        int x = Global.principal.getLocation().x;
        int y = Global.principal.getLocation().y;

        Dimension ds = Global.principal.getSize();
        Dimension dw = getSize();
        setLocation((0), (0));
    }

    private void centralizaForm(JInternalFrame frame) {
        Dimension desktopSize = Global.principal.Desktop.getSize();
        Dimension jInternalFrameSize = frame.getSize();
        frame.setLocation((desktopSize.width - jInternalFrameSize.width) / 2,
                (desktopSize.height - jInternalFrameSize.height) / 2);
    }
}
